﻿using System.Web;
using CatHouse.Models;
using System.Web.Mvc;
using System.Web.Routing;

namespace CatHouse.Lib
{
    /// <summary>
    /// Kiểm trạng thái hiện tại khi người dùng mở phần Admin. Nếu chưa đăng nhập, đẩy người dùng về trang chủ.
    /// </summary>
    public class LoginFilterAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            // Kiểm tra trình duyệt
            //if (filterContext.HttpContext.Request.UserAgent == null ||
            //    filterContext.HttpContext.Request.UserAgent.Contains("MSIE 6.0") ||
            //    filterContext.HttpContext.Request.UserAgent.Contains("MSIE 7.0") ||
            //    filterContext.HttpContext.Request.UserAgent.Contains("MSIE 8.0"))
            //{
            //    filterContext.Result = new RedirectToRouteResult(
            //        new RouteValueDictionary
            //        {
            //            {"area", ""},
            //            {"controller", "Error"},
            //            {"action", "BrowserSupport"}
            //        });
            //}

            // Lấy thông tin session của người dùng
            var session = HttpContext.Current.Session["LoginUser"] as UserModel;

            // Nếu chưa có session của người dùng, hoặc session không hợp lệ, đẩy về trang chủ.
            if (session?.Name == null)
            {
                filterContext.Result = new RedirectToRouteResult(
                    new RouteValueDictionary
                    {
                        {"area", ""},
                        {"controller", "Home"},
                        {"action", "Index"}
                    });
            }
        }
    }
}